The present invention generally relates to controlling head movement and, more particularly, to controlling head movement relative to a sequence of servo patterns on a media.
A typical data storage disk drive includes a plurality of magnetic recording disks which are mounted to a rotatable hub of a spindle motor and rotated at a high speed. An array of read/write heads is disposed adjacent to surfaces of the disks to transfer data between the disks and a host device. The heads can be radially positioned over the disks by a rotary actuator and a closed loop servo system.
The servo system can operate in two primary modes: seeking and track following. During a seek, a selected head is moved from an initial track to a target track on the corresponding disk surface. Upon reaching the target track, the servo system enters the track following mode wherein the head is maintained over the center of the target track while data is written/read. During track following, prerecorded servo data sensed by the head is demodulated to generate a position error signal (PES), which provides an indication of the position error of the head away from the track center. The PES is then converted into an actuator control signal, which is fed back to an actuator to position the head.
Typically, a microprocessor executes both the servo code that controls servo functionality and data control code that controls the communication interface between the disk drive and a host, cache management, defect table management, and other disk drive management functions. The servo code must operate at a higher priority than the data control code to ensure that the servo control loop efficiently and accurately carries out head positioning during seek and track following operations. It is becoming increasingly more difficult to ensure that in such a configuration that the servo code can be executed at a sufficiently high operational bandwidth as the computational complexity of the servo code increases and as additional functionality is added to the data control code.